//Source file: C:\\javier\\mario\\Java\\taladro\\vista\\aplicacion\\ContApp.java

package taladro.vista.aplicacion;

import taladro.vista.proyecto.MenuProyectoListener;
import java.util.Vector;
import java.awt.event.ActionListener;
import java.awt.Component;

public class ContApp implements MenuProyectoListener 
{
   private Vector proyectoListeners;
   public FrameAppTaladro frameApp;
   
   /**
    * @roseuid 3F4063D300C0
    */
   public ContApp() 
   {
        proyectoListeners = new Vector();
        frameApp = new FrameAppTaladro();
        initMenuItems();
        initWindowEvents();
        frameApp.setSize(600, 400);
        frameApp.show();    
   }
   
   /**
    * @param listener
    * @roseuid 3F406BDA02E1
    */
   public void addProyectoListener(MenuProyectoListener listener) 
   {
       proyectoListeners.addElement(listener);    
   }
   
   /**
    * @param listener
    * @roseuid 3F406BF6010B
    */
   public void removeProyectoListener(MenuProyectoListener listener) 
   {
      proyectoListeners.removeElement(listener);    
   }
   
   /**
    * @roseuid 3F4071260128
    */
   public void abrirProyecto() 
   {
       MenuProyectoListener proyectoListener = null;
        for( int i = 0; i < proyectoListeners.size() ; i++ ){
            proyectoListener = (MenuProyectoListener) proyectoListeners.elementAt(i);
            proyectoListener.abrirProyecto();
            proyectoListener.datosProyecto();
        }    
   }
   
   /**
    * @roseuid 3F407126015B
    */
   public void datosProyecto() 
   {
        MenuProyectoListener proyectoListener = null;
        for( int i = 0; i < proyectoListeners.size() ; i++ ){
            proyectoListener = (MenuProyectoListener) proyectoListeners.get(i);
            proyectoListener.datosProyecto();
        }    
   }
   
   /**
    * @roseuid 3F4071260183
    */
   public void iniciarProyecto() 
   {
        MenuProyectoListener proyectoListener = null;
        for( int i = 0; i < proyectoListeners.size() ; i++ ){
            proyectoListener = (MenuProyectoListener) proyectoListeners.get(i);
            proyectoListener.iniciarProyecto();
        }    
   }
   
   /**
    * @roseuid 3F40712601B5
    */
   public void pararProyecto() 
   {
        MenuProyectoListener proyectoListener = null;
        for( int i = 0; i < proyectoListeners.size() ; i++ ){
            proyectoListener = (MenuProyectoListener) proyectoListeners.get(i);
            proyectoListener.pararProyecto();
        }    
   }
   
   /**
    * @roseuid 3F4072C50053
    */
   public void initMenuItems() 
   {
       frameApp.openMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt){
            abrirProyecto(); }
        } );
        
        frameApp.iniciarMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt){
            iniciarProyecto(); }
        } );
        
        frameApp.pararMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt){
            pararProyecto(); }
        } );
        
        frameApp.datosMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt){
            datosProyecto(); }
        } );
        
        frameApp.reinciarMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt){
            reiniciarProyecto(); }
        } );
   }
   
   /**
    * @roseuid 3F41B8E702ED
    */
   public void initWindowEvents()
   {
       frameApp.addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                cerrarAplicacion();
            }
        });
        
        frameApp.exitMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt){
            cerrarAplicacion(); }
        } );
        
   }
   
   /**
    * @roseuid 3F41B9C50134
    */
   public void cerrarAplicacion() 
   {
    System.exit(0);    
   }
   
   /**
    * @param frame
    * @roseuid 3F41BAEE02D5
    */
   public void addComponentFrame(Component frame)
   {
       if(! frame.isShowing() )       
        frameApp.desktopPane.add(frame);
   }
   
   public void reiniciarProyecto() {       
        MenuProyectoListener proyectoListener = null;
        for( int i = 0; i < proyectoListeners.size() ; i++ ){
            proyectoListener = (MenuProyectoListener) proyectoListeners.get(i);
            proyectoListener.reiniciarProyecto();
        }
   }
   
}
